1. Technical Field
The present invention relates generally to the field of data transfer and more specifically relates to systems and methods for more rapidly and efficiently creating and disseminating data streams to content consumers.
2. Background Art
Over the years, the Internet has provided users with increased access for various forms of data and media, including movies, music, live event feeds and other forms of audio/video streams, etc. Additionally, the continued emergence of “cloud computing” has positioned the Internet as a location for storage of various types of data files, providing easy access for sharing data files. Various Internet sites and service providers are now providing access to various forms and types of data to millions of people every day. Further, the amount and types of data now being routinely transferred via the Internet continues to grow at a rapid pace.
Depending on the type of data being transferred, its intended use and audience, as well as the size of the data file, there are a number of ways in which a given data file may be stored, transmitted, and accessed. Internet streaming is a popular option for providing users access to media related data files such as movies, TV shows, music files, etc. The selection of the appropriate storage and transmission methods and equipment is important to ensure that the user experience is successful for the intended audience.
While the delivery and provision of data streams and associated content is increasingly popular, there are some difficulties in the efficient delivery of the content to the intended consumers of the content. For example, “streaming” and “live streaming” are very popular methods that may be used to deliver audio/video content to the content consumer. However, when watching a streaming video signal, it is not uncommon to experience delays in the stream, which can reduce the enjoyment of watching and listening to the audio/video content. The delays may be caused by many different factors, but are often related to bandwidth.
Another issue facing content providers is the requirement to prepare a data stream for transmission via the Internet. In general, prior to transmission, the data stream may be encoded and/or compressed to increase the efficiency of the data transmission. However, there is a temporal element associated with the conversion of the data stream from its original format to a format that is suitable for transmission via the Internet. For example, H.264 is one well-known standard for transmission of audio/video data streams (e.g., TV shows, movies, sporting events, etc.). The amount of time that it takes to encode a data stream into an H.264 data file for transmission via the Internet is roughly equivalent to the length of the event. So, for an hour-long event, it can take approximately one hour to encode the corresponding data file.
Once the H.264 file has been encoded, it may be uploaded to a hosting location where the content consumers can access the data file. It should be noted that, depending on bandwidth, the uploading and downloading process associated with delivering the data file to the consumer can introduce additional time delays into the process, further delaying the availability of the data file for use by the content consumer.
Given the current state of the art, as discussed herein, there are two typical content capture and distribution models that are in widespread use and that present a continuum of benefits and limitations. One model contemplates a local content preparation process that is completed prior to any upload or distribution and the second model contemplates a live streaming model, where the content is captured, encoded and uploaded for consumption in “real time” and made available as the content is created.
In the first model, using a weekly television series as an example, the entire program is captured and recorded locally, encoded to the proper format, and then uploaded to the Internet for consumption by the content consumer. Once the program has been uploaded, this model reduces the issues surrounding limited bandwidth on the uploading side but does nothing to diminish the bandwidth issues on the download side when the content is accessed by the content consumer. The delivery of the content to the content consumer will be limited by the download bandwidth of the content consumer's Internet connection.
Additionally, this model guarantees a somewhat delayed distribution of the content because the entire program must be captured and encoded prior to being uploaded and made available. This model is not generally suitable for live events because the encoding process does not begin until all of the content has been captured. With the content captured, the file index and related playback instructions can be created and embedded as part of the content file. After encoding, the encoded content must be uploaded prior to being made available to the content consumer. The sequential nature of these steps means that there can be a significant delay before the content is made available to the content consumer.
In order to avoid some of the drawbacks of the first model, live streaming has been developed. In this model, the content is continuously uploaded and delivered to the content consumer in as close to “real time” as possible so that the immediacy of the event can be preserved. This is the model that is used for streaming live events over the Internet. While this model may provide more immediate access to the content, it introduces the probability of bandwidth-induced delays on both the upload side of the equation and the download side of the equation. To deal with the probability of “hiccups” in the streaming of the content on one end or the other, it is customary to purposefully “downgrade” the quality of the content to reduce the amount of data being streamed over the Internet. This provides for a smoother and more rapid data transfer but also results in lower quality content, particularly for video streams. Once again, the tradeoffs have to be considered in selecting the proper approach for each application.
The various drawbacks associated with the current content delivery methods have led to some undesirable results in the smooth and efficient distribution of data streams to content consumers. Accordingly, without improvements in the current systems, procedures, and methods for creating, encoding, and distributing data streams the overall process and content consumer experience will continue to be sub-optimal.